System and method for providing a public/private telephone number system

ABSTRACT

This invention shows a method for operating a voice communications network that comprises dynamically associating a private number with at least one public number of a circuit-switched voice communication network, authenticating a user of a private number without reliance on a static reproducible data code, receiving an incoming call to the public number and routing the incoming call from a caller to the private number. The method also shows the generation of an outgoing call from the private number and passing the outgoing call through the public number while generating calling party information to a target which preserves the privacy of the caller, and altering an associating of the private number and at least one public number. The system therefore acts as a proxy with authentication by means of dynamic code security. The caller and the user of the private number share seamless round-trip telephone communications while preserving the anonymity of the user of the private number. The system functionality is advantageously presented as a restricted option space defined by a “skin”, which provides a consistent and purposeful set of functionality useful for a predetermined population of users.

BACKGROUND OF THE INVENTION

Systems and methods for connecting circuit switched voice communicationsbetween a caller and a callee are well known. In a traditional circuitswitched telephone model, each participant has a separate physicalconnect to a central office, identified by a “telephone number”. Thisnumber can be referred to as a “public” number, because it is usedeither as a common or standardized identifier to connect a circuit, oras a caller identification.

One traditional method for obtaining anonymity was to employ an“unpublished” telephone number. This, however, had significantlimitations: a potential caller could not contact a callee unless giventhe number in advance; but once given the number, the caller hadpermanent access to the callee. The advantage of an unpublished numberrelied on its secrecy, and once the secret was breached, the number waseffectively public.

Another method for achieving anonymity or privacy is through the use ofa disposable cellular telephone. This, however, can be costly, andsuffers from significant limitations as well. In particular, thedisposal of the cell phone results in loss of the telephone number, andthus this provides only a temporary solution, because the user mustreestablish his number with all those wishing to contact him each timehe changes to a different cell phone.

Anonymous telephone communications provide a number of advantages andmarket opportunities. See, “Anonymous Phone Calling: An Overview ofAnonymous Phone Call Service Providers for the Consideration of OnlinePersonals Companies”, Mark Courtland Brooks (version 1.0, Nov. 1, 2005).

U.S. Pat. No. 5,901,209, expressly incorporated herein by reference,provides a system and method for selectively adjusting the calleridentification of a calling party based, in part, on parametersassociated with adjusting the calling party. Security codes can be usedin conjunction with a database to insure that the substituted ID islegitimate. The one embodiment or network-based predictive dialer isused to place calls for agents geographically separated from both thenetwork and other agents. The network system instigates a callingcampaign where remote agents are connected through the network to calledparties and the called party receives the caller ID informationpertaining to the calling campaign and not the caller ID of the agent.

U.S. Pat. No. 6,560,329, expressly incorporated herein by reference,provides an automatic call distribution system which routes calls from acommunications network that provides call arrival data and acontrollable routing capability. The system includes several agentstations, a call server, and a routing controller. Each agent stationhas a processor and a communication element to receive calls routedthereto. The call server uses telephony lines to receive the callarrival data and to direct the routing capability of the network. Thecall server has a caller prompting unit to request and receiveinformation from a caller. The call server generates call informationfrom the information from the caller and/or the call arrival data. Therouting controller receives agent status data from the agent stationsand the call information and selects an agent station from the callinformation and the agent status data. The routing controller causes thecall server to direct the network to route the call to the selectedagent station.

U.S. Pat. No. 6,741,688, expressly incorporated herein by reference,relates to an electronic method and apparatus for handling telephonecalls. The method includes storing a telephone number template in amemory. The template preferably is as wide as a telephone number is longand identifies one or more telephone number digits by the digitpositions within a telephone number field for comparison purposes. Themethod further includes monitoring a telephone line for a call placedthereon, identifying at least one of the origin and destinationtelephone numbers and storing one or more digits of such identifiedtelephone number in a memory. The method further includes comparing thestored digits of the identified telephone number with the correspondingdigits of the stored template. Finally, the method includes processingthe call based upon the result of said comparing. Such processing mayinclude any one or more of logging, filtering, blocking, ignoring,rerouting, forwarding, and distinctive-ringing and answering the call.The template may include a first-level mask-identifying digit positioncriterion that identifies dialing tokens of interest, and a second-leveltarget-identifying digit content criterion that attempts topattern-match those tokens of interest with corresponding tokens ofstored telephone numbers.

U.S. Pat. No. 6,873,696, expressly incorporated herein by reference,relates to a method and system for preserving caller privacy in anadvanced intelligent network comprising a service switching point and asecond service switching point. The service switching point is adaptedto suspend calls directed to a predefined number and to forwardsignaling information associated with the call to the service controlpoint. The service control point is adapted to alter the signalinginformation if a privacy restriction indicator in the signalinginformation is activated and to forward the altered signalinginformation to the service switching point. The method comprises:forwarding information identifying a calling party and any privacyrestrictions on the calling party information from the service switchingpoint to the service control point; and if the privacy restrictionsindicate that the calling party information should not be delivered tothe called party, altering the calling party information and forwardingthe altered information to the service switching point.

U.S. Pat. No. 6,882,722, expressly incorporated herein by reference,relates to a virtual private communications network (VPCN) and method ofmanaging calls on the network. Stations on a private communicationsnetwork are identified by a unique private network identification (ID)code or a dial-in-direct (DID) number. Remote communications devices(e.g., cell phones, analog phones, etc.) are virtual client devicesconnected from a public communications network to the privatecommunications network. One or more DID numbers are shared DID numbers,dedicated for the virtual client devices. Calls from the virtual clientdevices may be placed to network stations by dialing shorthand (e.g., 5or fewer digits) numbers. Each call has a dedicated DID numbertemporarily assigned to it for placing the call as an in-network call.Once the call reaches its final destination, the shared DID number isreleased for temporary assignment to other virtual client devices.

In the present invention, a telephone number which is kept secret asdescribed above is referred to as a private number. A telephone numberwhich is published or generally known or ascertainable, is referred toas a public number.

DEFINITIONS

The following definitions are applicable herein:

System—the Telephony System described here

The System has, for example, the following components: Interactive VoiceResponse (IVR), Unified Messaging—superset of voicemail (UM), SignalingSystem 7—a telephony standard (SS7), and web access for variousfunctions.

Account

The Account refers to a particular account on the System. Eachparticular call is associated with a particular public number or becomesinactive when the public number is disabled for both incoming andoutgoing calls.

CPN—Calling Party Number

The CPN is the telephone number that appears on the receiving party'stelephone set if it has a display to show the calling party's telephonenumber. The CPN is not always displayed, for example, if the callingparty blocks its appearance.

CPI—Calling Party Identification

The CPI information includes the calling party name as well as the CPN.The CPI appears on the receiving party's telephone set if it has adisplay to show this information. CPI information is not alwaysavailable from the telephone company.

Pen Data

Pen data historically has been used for all the data a telephonetechnician could “pen” about a particular telephone call. As usedherein, it includes all data that can be collected from the telephonecompany along with System data, time data, and relevant data from otherdatabases.

Skin

This term was developed for Internet sites, wherein the skin literallydetermines not only the look and feel of the game web site but also whatfeatures and parameters are available there.

Skin encompasses the entire customer experience with the system. Forexample, the System skin may refer to the complete customer experiencewith all components of the System as listed under this definition. Thefeatures described in this document may not be simultaneously available.They are available through a skin of a particular application, whichreveals the necessary parameter set for this skin.

Public Number

The public number is a telephone number provided by the System. It canbe given to the public, to a few associates, or to a single person. Byitself, it does not reveal the private number or the identity of thenumber holder. It may expire after the purchased number of minutes isused, after a predetermined amount of time has elapsed, or at the willof the holder. The holder may wish to inactivate incoming calls,outgoing calls, or both. As part of the administrative set up, thenumber holder optionally may choose the area code of the public number.All calls are made to the public number, and all calls originate fromthe public number as revealed by the CPN sent to the calling party.

Private Number

The private number is a telephone number held private by the holder andnot revealed by the outgoing CPN, which is displayed as the publicnumber, the source of the call. The number holder may elect to use up tosix more private numbers associated with his public number. The privatenumbers are owned by, or under the control of the number holder; allother telephone numbers are provided by the System.

Outgoing Number

The outgoing number is the telephone number called by the number holderto originate a call. Preferably it is a toll free number such as an 800number. After authorization, control is passed to the public number tocomplete the call. The outgoing number also can be used by the numberholder to alter the parameters of his account after he has completed hisauthentication.

Outgoing Security Level

This variable is set for each account. According to one embodiment, ifit is set to high, the holder must enter the public number and the passname each time he calls the outgoing number. If it is set to medium, heonly has to enter the pass name. If it is set to low, he enters only thepublic number. If it is set to none and there is only one public numberassociated with the private number, he does not need to enter eithervariable as long as his CPN is exposed to the outgoing number. It ispossible to customize this setting for each private number associatedwith the account.

General Account

A general account may contain several accounts when an entity hasestablished a credit account and wishes to have several public numbersbilled to the same account. In such case it may not be necessary topurchase a special “telephone calling card”.

Professional Account

A special type of general account may be established by professionals,such as licensed private investigators. The accounts under aprofessional account have access to more options because of theprofessional responsibilities of the holder.

Tag

The tag is a number from one to nine digits, selected by the holder,which is used as a reminder about the particular public number thecalling party has selected. If each of several possible callers has beengiven a separate public number, the tag can be used to identify thecaller no matter what telephone he has called from. For a professionalaccount, the tag could be the case number associated with this PublicNumber.

As an option, the tag can be used in place of the public number whenoriginating an outgoing call, thus making it the same as the tag from anincoming call to the same public number. In this event, it providesadditional mnemonic assistance in differentiating between various publicnumbers associated with a single private number. The tag can be sent asa proxy or added at the beginning or end of the CPN sent to the privatenumber as a further reminder of the caller's identity.

Called Number

The called number is the telephone number called by the public number.The CPN of the public number is passed to the called number.

Number Holder/Holder

The number holder is the person or entity which establishes and controlsthe account. The term is sometimes abbreviated as “holder.” Nothing inthe System prevents a person from maintaining more than one publicnumber, each with its associated account and optional tag. Unusedminutes can be transferred between accounts.

Password

The password is a sequence of keystrokes or symbols, typically betweenthree and five numbers.

Prompt

The prompt is the acoustical sound given to the holder to elicit aresponse after calling the outgoing number.

B—Bong

This symbol stands for a “bong” sound. BB indicates two successive“bongs,” etc. It is used as a prompt to elicit input.

Prompt Reminder

The prompt reminder is an explanation of the prompt, which can beaccessed, for example, by pressing the “0” key immediately after theprompt.

Special Function

A special function is determined by two touchtone keystrokes (numbers)entered where the holder would normally enter the outgoing number.

SUMMARY OF THE INVENTION

The present invention provides a system and method for operating a voicecommunications network, which dynamically associates a private numberwith at least one public number of a circuit switched voicecommunication network; receives an incoming call to the public number,and routing the incoming call to the private number; generates anoutgoing call from the private number, and passing the outgoing callthrough the public number, while generating calling party information toa target which preserves a privacy of the caller. The association of theprivate number and the at least one public number may be periodically ordynamically altered. The user of a private number may be authenticated,for example by a static reproducible code, such as a personalidentification number, or without reliance on a static reproducible datacode, the use of which, while expedient, may present security risks.User authentication is also preferred for control and/or configurationtasks.

In accordance with a further aspect of the invention, a system andmethod for operating a voice communications system is provided,comprising providing a first option set for dynamically associating atleast one private number with at least one public number of a voicecommunication network, according to a predetermined algorithm, forcontacting a user; providing a second option set for dynamicallyassociating at least one public number with at least one private numberof a voice communication network, according to a predeterminedalgorithm, for permitting the user to contact others; providing a thirdoption set for defining functions available if a call to the user is notcompleted; and defining a restricted option space within each of thefirst option set, second option set, and third option set, forcontrolling system behavior, the restricted option space having at leasttwo option sets, each option set differently controlling the system, andbeing selectively applied to the user.

The present invention also provides a system and method for operating avoice communications network, comprising dynamically associating atleast one private number with at least one public number of a circuitswitched voice communication network, according to a predeterminedalgorithm; receiving an incoming call to one of said public numbers, androuting the incoming call to at least one of said private numbers;generating an outgoing call from a private number, and passing theoutgoing call through at least one of said public numbers, whileoptionally generating calling party information to a target whichpreserves a privacy of the caller; and at least once altering saiddynamic association or algorithm of said at least one private number andsaid at least one public number.

In accordance with various aspects of the invention, an outcome of saidpredetermined algorithm is sensitive to at least one of a time, acommunication status, a status of one or more of a public and/or privatenumber, an external status, accounting information, system congestion,communication cost, and a location. Therefore, by determining the statusof one of these external states, the function of the system may becontrolled. In addition, a user input may be received to influence thedynamic association. The system may verify a validity of an associationof a public number and a private number. Further, a preferredimplementation determines a status of at least one of said privatenumbers, and performs the association in dependence on said determinedstatus.

The at least one of said at least one private number may be provided anautomated storage facility. A user interface may be provided forfacilitating receipt of configuration information from a user, saidconfiguration information influencing said dynamic association. Aninteractive voice response interface may be provided for at least one ofa user at a public number and a user at a private number. Communicationsare preferably logged, and more particularly, communications involvingat least one private number may be logged and reported separately.

The user is preferably authenticated before permitted use of a privatenumber, control and/or configuration tasks. The authentication may bethrough a password, dynamically changing code, biometric identifier,based on a cryptographic key which changes over time or after use, orotherwise.

A system and method is provided in accordance with various aspects ofthe invention, for operating a voice communications network thatcomprises dynamically associating a private number with at least onepublic number of a circuit-switched voice communication network,authenticating a user of a private number without reliance on a staticreproducible data code, receiving an incoming call to the public numberand routing the incoming call to the private number, generating anoutgoing call from the private number and passing the outgoing callthrough the public number while generating some calling partyinformation to a target which preserves the privacy of the caller, andaltering an associating of the private number and at least one publicnumber. The system therefore acts as a proxy with authentication bymeans of dynamic code security. The caller and the owner of the privatenumber share seamless round-trip telephone communication whilepreserving the anonymity of the owner of the private number. The systemfunctionality is advantageously presented as a restricted option spacedefined by a “skin”, which provides a consistent and purposeful set offunctionality useful for a predetermined population of users.

The system according to the present invention preferably comprises acomputerized switch which directly controls communications channelsand/or packets, such as the public switched telephone network and/orvoice over Internet Protocol, or a separate processor, for examplehaving its own processor, volatile memory, program memory, database, andcommunications channel(s) to such a switch. In either case, thefunctionality is typically implemented as program instructions for ageneral purpose processor stored on a tangible storage medium, such asnon-volatile semiconductor memory (Ferroelectric memory, Flash memory,EEPROM, etc.), magnetic memory (e.g., hard disk, MRAM), optical memory(CD or DVD), or other suitable media. The instructions may also berepresented as electromagnetic waves communicated through a medium whichsupports such communications, such as cable, fiber optics, free space,etc. The system is preferably multi-tasking, and may comprise multipleprocessors, or loosely or tightly coupled parallel processors orprocessing cores, networks, or grids. Thus, for example, a processorexecuting the instructions to practice a method in accordance with thepresent invention may be couples to a so-called SS-7 switch, whichprocessor, in turn, receives control instruction s and data through theInternet (or other data communications network) from another peerprocessor, or a remote server. This architecture, for example, allows acentral database to provide a single portal for user registration,interaction, and control, while allowing distributed and/or redundanthardware to implement the telephony functionally. The system may alsocomprise dedicated, special purpose, or hard-wired hardware to performthe various methods.

In accordance with various aspects of the invention, Public/privatenumbers are used in a variety of situations. For example, in apublic/private encryption key pair, the public key is made public to oneor more persons who wish to send an encrypted message to the holder ofthe key pair. The private key is kept secret by the holder and is usedto decrypt incoming messages. The public number in the telephony systemdescribed here is likewise given to one or more persons wishing tocommunicate telephonically to the number holder. The private number inthis telephony system is kept secret to provide benefits to the numberholder. Unlike the encryption model, the public number does not carryany information about the holder and can be used to preserve anonymityboth for the holder and the private number.

The System is a “round trip” telephony system. It is straightforward tocall one number and ring another by “call forwarding” the called numberto the final number. There are also services which offer the insertionof another number into the CPN to hide where the calling party isactually calling from. The System, however, combines both of theseconcepts and still retains the privacy of the private number. All callsare made to the public number, and all calls originate from the publicnumber as revealed by the CPN.

Without changing his private number, the holder has a “disposable”telephone number. The associated public number is disposable in that itcan be terminated at any time, and remaining minutes can be transferredto a new public number.

In order maintain a high level of security, one embodiment of thissystem requires the holder to provide authentication, such as a spokenpass name. Another party calling from the private number to the publicnumber with complete knowledge of the sequence of telephone keyspressed, cannot access the System without this information. Alternately,a rolling code or known two-factor or three-factor authentication schemeusing a time or usage-sensitive key generator may be employed to preventreplay attacks.

Incoming calls to the public number are: forwarded seamlessly to theprivate number, sent to a voicemail device, given a busy signal, rungcontinuously for a period of time, given a “no longer in service”message, or given individualized “treatments”. Separate actions can bedirected in the case of a “busy” or “no answer” signal from the privatenumber, which may direct action to an auxiliary private number or aunified messaging system. These options are all under the control of thenumber holder within the constraints of the particular applicationimplemented (skin). The holder can also determine whether an incomingcall to the public number shows up on the display of his private numberas: “Number Unavailable,” the CPN of the public number, the CPI of thecalling party, or the chosen tag. The tag may optionally be insertedprior to the CPN or at the end of the CPN, separated by a “0” for easyrecognition. As a further mnemonic device, the tag can be used inoutgoing calls in place of the entry of the public number.

The present invention therefore provides a system in whichtelecommunications routing logic is not inextricably linked to physicalcommunications links or predetermined and persistent communicationschannel or endpoint identifications. Rather, the system can be flexiblyimplemented to provide enhanced features to communications systems whichemploy, circuit switch architectures and/or which emulate attributes ofsuch architectures. Likewise, the system permits a full range ofcomputer intelligence and packet switch data network technologies to beemployed within an environment consistent with use of legacy, VOIP,cellular telephones, or other modern telephone systems.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be explained by way of the drawings, in which:

FIG. 1 is a flowchart showing aspects of a method according to thepresent invention; and

FIG. 2 shows a simplified block diagram of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A flowchart showing major aspects of the invention is shown in FIG. 1.The method provides that a database is maintained which storesassociation information between private numbers, i.e., thosecommunications circuits which are to remain unidentified to a calltarget, and public numbers, called number for incoming calls and thecaller identification information for outgoing calls 101. Theseassociations are dynamic, meaning that the association is not permanent,as would be the case of an association of a normal telephone circuit,its published telephone number, and caller ID information generatedthrough outbound use of that circuit.

In use, a call may be received to a public number 103, which is thenrouted to a private number 104. Conversely, a caller may initiate a callfrom a private number 105, which is routed to a callee 106 displayingcaller ID information which is different from an identification of theprivate number, this reserving the privacy 107

The user may be authenticated before permitted use of certain features102, such as administrative and control functions, and use of a privatenumber. One such function is an alteration of an association between theprivate numbers and public numbers 108. The system may verify a validityof an association between private and public numbers 109. The routingfunctions may be defined by a routing table, or be adaptively definedbase on various data 110, such as call type or status 112.Communications may be logged 111. For example, usage of private numbersmay be separately accounted from the use of public numbers.

FIG. 2 shows a block diagram of the invention. A voice communicationsswitch 201 routes calls through various private number circuits 202 andpublic number circuits 203. A database 204 stores parameters for use byan algorithm which determines the routing function.

Skins as Classes of Service

The basic system architecture provides a high degree of flexibility andpower. However, much of that power can be harnessed by establishing setsof features and making decisions in advance as to how features should beimplemented, thus bundling the functionality. The result is termedherein a “skin”. That is, the generic basic architecture can bepresented to a user as a mature and well thought-out implementation,with relative ease. This, in turn, permits service providers todifferentiate their product offerings and to establish bundle pricing,even when based on the same platform. Likewise, the use of skins mayallow a provider to aggregate demand, and thus achieve lower costs.

The skins may be relatively simple: for example, a vector which eitherrefers to a database entry or parameter set, or which itself comprisesthe set of configurations and parameters that form the skin. In somecases, the skin may be composed of multiple levels of hierarchal objectsin which a higher level establishes a subset of the option space, whilea lower level particularly defines the options to be employed.

Another advantage of skins is that they facilitate customer support andthe creation of documentation, FAQs, and help files. Thus, while acomplete technical manual may be provided for the system, it isgenerally far more complex than necessary for users and would createopportunity for intentional or unintentional mischief. However, bylimiting the options and controlling their interrelation, it is mucheasier to assist users in both configuring and using the system.

Certain of the examples discussed herein are presented as though theholder chose all the options. This, however, is not a limitation on theinvention. Such options may be conveniently identified and selectedtogether as a group by choice or limitation of the skin. For example,the skin could allow only one private number, allow outgoing tags,choose to get the tag placed in front of the CPN, force the outgoingsecurity level=none, hide all the other options, and allow a singlesession request of several public numbers and their associated tagsalong with helpful suggestions. A selection of cell carriers could bepresented so that upon making a choice, the SMS email message wouldautomatically be generated and placed into the table.

Example 1

Consider a single private number which has three associated publicnumbers. The holder uses one public number for his business and sets itstag to 1. He uses the second public number for the soccer team hecoaches and sets its tag to 2. He uses the third public number for hisparents, who live in another part of the country, and sets its tag to 3.As a convenience to his parents, he selects as the area code for thisthird public number the same area code his parents have. The singleprivate number is his cell phone, which has text messaging capability.He chooses the tags to be used as proxies for their associated publicnumbers. Because he is the only user of this cell phone, he chooses theoutgoing security level=none and puts the outgoing number in the “singlebutton dial” list of his cell phone.

For tag=1 he may choose, for example, voice mail except for weekdaysother than national or local holidays from 8:00 AM until 5:00 PM, duringwhich times received calls go to the voice mail with the followingmessage: “Please call back during normal business hours: 8 AM until 5PMon business days.”

For tag=2, he may program the calls to go through from 6 PM until 10 PMon Thursday evenings and from 8 AM until 6 PM on Saturdays. His voicemail message reminds callers that he is available to discuss an upcomingSaturday soccer game. For his elderly parents, who are more comfortableusing the same area code as their own, he allows calls through duringnon-business hours, again with a friendly voice mail message. He isnotified by text message to his cell phone of all calls including thosethat are automatically directed to his voice mail systems. He can alwayschoose to return a call even though it was directed to voice mail.

He sets up speed dial for his most important business clients, hissoccer team parents, and his own parents. When he returns calls, it isalways through the outgoing number so the CPN always appears on thecalled number, letting those he calls know that it is he who is callingthem. He always knows when a soccer parent calls, no matter where theycall from, because his tag is set to 2 and precedes the CPN.

Consider the simplicity and control this system has brought to the useof his cell phone. The user easily handles the three special kinds ofcalls as well as his immediate family who may have his direct cell phonenumber, although he may choose another public number for them so that hecan change cell phones without having to give everyone his new cellnumber.

Outgoing calls are simple. To call his parents, the holder would pressthe single dial button, and when a B sounds, he would enter “3#”; afterBBB sounds, he would enter “1#” to dial his parents at home. He can makecalls to his soccer parents, because his speed dial is customized tothem, and they will return calls to the appropriate public number.

Example 2

A second example and specialized skin is for the holder who wishes togive each new prospective girlfriend a different public number so he candeactivate them at will. The set up would be similar to the prior skin,with the following changes and additions: the timing for the voice mailwould affect all public numbers at once. In addition, he may wish ahigher level of security in placing outgoing calls. An option would beinvoked by the skin to dial automatically if only one speed dial numberwas associated with a particular public number. The minutes for allpublic numbers would be aggregated and a charge levied for each changein public number requested by the holder. To simplify marketing andpricing, the user might, for example, be allowed five public numbers.

Consider the case in which each of five public numbers has a singlespeed dial, and voice mail is activated on all accounts from 10:00 PMuntil 8:00 AM every day. The SMS messages would inform him of allincoming calls unless he turns off his cell phone.

To call person #4, he dials the outgoing number revealing his CPN,enters “4#” and then his password or pass name. The called number forperson #4 would automatically be placed, revealing the appropriate CPN.If the results of his conversation were unsatisfactory, he coulddeactivate this public number and choose another. The skin wouldautomatically credit unused minutes and make a charge for getting a newpublic number.

Example 3

A simple dating scenario is presented, using the system and methodaccording to the present invention. Relevant features include:

-   -   1) ability to hide personal/private number    -   2) option to reject anonymous callers (callers with no caller        ID)    -   3) option to reject or bar calls from certain caller IDs    -   4) ability to turn off, and change the routing of a public        number—based on user-defined criteria re time of day or week    -   5) ability to seed-dial    -   6) option to record voice mail    -   7) ability to establish Press 1 to answer the call    -   8) option to establish multiple public numbers in the same, or        in multiple area codes    -   9) choice of area codes from which to choose        Overview

There are over three million paying subscribers currently using Internetdating. In the initial stages of a potential relationship, people(especially women) often are reluctant to give out their private phonenumber to someone whom they don't yet know well. At the same time, theywish to talk to new acquaintances in order to assess the potential for arelationship. In addition, there are over 80 million users of socialdating sites such as My Space. Obviously it is very dangerous to publishprivate phone numbers on the Internet.

In this scenario, the customer selects an area code of his/her choiceand is then assigned a local seven-digit number. This new phone numberbecomes the customer's public number and is linked to his/her existingtelephone number (the private number). This private number is neverrevealed. The assignment of the new public number and link to theprivate number is instantaneous.

Private numbers may be any telephone number. The system is entirelydevice and number indifferent. Private numbers may be cellular, home, orbusiness and may be on any telephony device. Customers may determineexactly when and how they wish to receive calls, and can easily cancelor change their public number at any time. Incoming calls can be treateddifferently based on user desires: calls can be forwarded to voice mail,given a busy signal, or be presented with a “number disconnected”message based on time. Specific caller IDs may be blocked or identifiedas “unavailable” or “private”. Routing can also be based on flexibletime-of-day or day-of-the-week functions. The company can providecustomers with more than one public number (in different area codes ifrequired) and link each to a single private number, and support multipleprivate numbers. Calls may be routed based on number origination andother user defined variables.

Speed Dials can be set up for frequently used numbers.

To further ensure anonymity, a separate voice mailbox not associatedwith the user's public number is provided. For example, the user'snormal public mailbox may play the message, “you've reached Jane Doe atAcme Corp,” while the alternate mailbox may play, “you've reached Jane”.

Lastly, to prevent calls being answered inadvertently, affirmativeverification is required when a call is presented. When a call isforwarded to the private number, the user answers it as normal, but thenhears the message, “press 1 to accept the call.” If the user does notpress “1,” the call is sent to the alternate voice mail.

Example 4

An embodiment of the system and method according to the presentinvention appropriate for use by a private investigator is provided.Relevant features include:

-   -   1) All of dating listed above, plus    -   2) Change outbound caller ID    -   3) Record calls, watermarked for authenticity and send email    -   4) Location based service. With email/SMS    -   5) Reverse ANI name with email/SMS    -   6) Associate a label with a public number    -   7) Inbound caller ID options        Overview

Private investigators need to conduct confidential investigations wheretheir private phone numbers are not revealed. In addition to thefeatures inherent in example 3 (dating), the professional account holdercan change the caller ID as needed as well as record calls that canlater be used as evidence. These recorded calls can be emailed ordownloaded from the web site. In addition, an email or SMS text messagecan be sent to report the originating number and, in some cases wherethe data is available, the name and location of the caller as well.

An optional four-digit label can be used for identifying the publicnumber or case number or any other function desired to be associatedwith the call. This label can be sent as part of the caller ID string aswell as shown in the billing records. For example, 0007 could be used toidentify a case in the Washington, D.C., area, and 0001 to designate thefirst number of several numbers associated with a particularinvestigation.

The caller ID sent to the phone can be in several forms.

-   -   1) identifying the call generically with the public number    -   2) identifying as the originating ANI    -   3) identifying as a label previously associated with the public        number    -   4) combining several of these forms

Example 5

An embodiment of the system and method according to the presentinvention appropriate for use by law enforcement organizations isprovided. Relevant features include:

-   -   1) All of private investigator, plus    -   2) Secure 2-way, RSA type and/or biometric authentication    -   3) Enhanced data encryption    -   4) Enhanced operational procedures security    -   5) Dedicated, isolated environment:        -   telephony server        -   database server        -   IBIS/application web server        -   telephony trunk groups    -   6) Distributed/redundant architecture for disaster planning and        business continuity    -   7) Cascading enforced security permissions and credentials    -   8) Enterprise customized pricing plans        Overview

Law enforcement organizations and homeland security at all levels(military, federal, state, and local) also need to conduct discretetelephone investigations. They require far greater security andreliability than do commercial applications.

Web based access (and optionally telephony access) will require at aminimum two-way authentication with a changing access key. Biometricinformation can be used to further secure the environment. As biometricsecurity (speaker identification, etc) becomes more reliable, it willhave an increasingly important role in the operation. Call data isencrypted at the earliest possible moment, and systems and proceduresare put in place to guard against inadvertent access or disclosure ofcall information. These users will have their own dedicated, fullydistributed equipment as well as isolated telephone trunks. In addition,management at these organizations will be able to set the permissionsand access levels of their subordinates.

Example 6

An embodiment of the system and method according to the presentinvention appropriate for use by an overseas traveler to the US.Relevant features include:

-   -   1) Same feature set as “daters” above, plus    -   2) Dual number SIM        Overview

Travelers select an area code(s) either before leaving for the UnitedStates or upon arrival in the United States. The motivation in such asituation, is not so much to provide privacy as to have a local numberin the US, which can be used for the duration of the visit. It would beeasier and less expensive for US callers to get in touch with thetraveler via a domestic number.

For those travelers using an international GSM phone, this secondarynumber would also be provided on their SIM, allowing the travelers toroam in the US at domestic rates. This set-up is at least 50% lessexpensive than comparable costs of international roaming.

Example 7

An embodiment of the system and method according to the presentinvention appropriate for implementing a remote business presence isprovided. Relevant features include those applicable for a doctor'soffice.

Overview

For businesses that with to have the convenience of local access totheir customers, phone numbers in remote area codes can be provided.What differentiates this service from traditional remote call forwarding(RCF) is that it provides for customer to be called with the localcaller ID. Absent this feature, if the business needed to call theircustomer back, the caller would not recognize the incoming call as beingfrom the same business that was dialed originally.

Example 8

An embodiment of the system and method according to the presentinvention appropriate for implementing traditional Remote CallForwarding (RCF) is provided. A customer is in New York—ANI (212) 5552368. The RCF number is 212 222 2222. A travel agent is in Washington,D.C. (202) 234 5678

-   -   NY customer dials 212 222 2222 and reaches travel agent in        Washington.    -   Travel agent needs to call NY customer back and dials 212 555        2368.    -   NY customer receives the call, but recognizes that the caller ID        of 202 234 5678 is not the number he dialed. He is confused        and/or doesn't answer—bad for the customer and bad for the        travel agent. RCF in accordance with an embodiment of the        present invention. Customer is in New York—ANI (212) 555 2368.        The public number 212 222 2222. Travel agent is in Washington,        DC—private number (202) 234 5678.    -   NY customer dials 212 222 2222 and reaches the travel agent in        Washington.    -   The travel agent needs to call the NY customer back, dials into        the system, and then dials 212 555 2368.    -   NY customer receives call, recognizes the caller ID (212        222 2222) as the number he dialed beforehand and therefore        answers the call—good for the customer and good for the travel        agent.

Such functionality could be also obtained based on a VOIP system. A VOIPimplementation, however, may be clumsy if there are multiple numbersinvolved and it requires a fixed location and broadband connection tooperate.

Call Flow

A telephone user dials a telephone number under control of system andallocated to the System. The public number will be terminated, forexample, at the hardware platform call routing engine which may be in acentral office (CO), a point of presence (POP) or other premises.

Basic Call Route—Inbound Calls

Upon receiving the call by the hardware platform, the DNIS of the callis queried to find the number the caller dialed (dialed number). Thedialed number has been either allocated to the public number pool ofnumbers, in which case this is an inbound call or it is used by userscustomers to initiate calls and/or retrieve voicemails, in which case werefer to it as an outbound call.

If it is determined that the dialed number is not allocated to outboundcalls, then the call routing engine database is immediately queried asfollows:

-   -   1) The public number table is queried for the public number        equal to the dialed number.    -   2) If an appropriate record is not found, then this public        number is assumed to be out of service, and the inbound call is        rejected with an ISDN out-of-service message.    -   3) If an appropriate record is found, the public number record        is retrieved and public number status is determined based on the        value in the status field.    -   4) If the status shows that this public number is not active for        inbound calls, then the inbound call is immediately rejected        with an ISDN out-of-service message.    -   5) If the status shows that this public number is active for        inbound calls, the inbound call is taken off hook and a        ring-back is played to the caller.

All active public numbers belong to holders and the holder will haveconfigured certain call routing rules for his/her public number. Theserules are configured by the holder though a web-based application andheld in the call routing database.

The holder can configure the system so that inbound calls made tohis/her public number are routed by the system as follows:

Route to the Holder's Private Number

If it is determined from the call treatment field of the public numberrecord that the call should be routed to a telephone number configuredby the holder (a private number), then a lookup is performed on theprivate public number table based on the public number and sequencenumber fields. This returns a private public number record. The privatenumber field of the private public number record contains the privatenumber currently associated with this public number and a new call(outbound call segment) is initiated to the holder's private number. Thecaller ID sent with the outbound call segment is also configurable bythe holder and might be:

-   -   1) The public number    -   2) The caller ID of the inbound call segment    -   3) A numeric descriptor previously associated with the public        number    -   4) Some combination of the above

When the holder receives the outbound call segment on his private numberhe/she has the choice of answering the call or ignoring the call.

Holder Answers the Outbound Call Segment

When the holder answers the outbound call segment, the system promptsthe holder to press 1 to accept the inbound call. If the holder presses1, the inbound call and outbound call segment are routed together,connecting the holder to the calling party.

If the holder hangs up without pressing 1, the inbound call isconsidered rejected, and the outbound call segment is dropped. The ondecline action field of the private public number record for this publicnumber is read to determine the next action. It might indicate that theinbound call should be:

-   -   1) routed to a voice mail system    -   2) given a ring-back for a further four minutes and then dropped        Holder does not Answer the Outbound Call Segment

If the holder does not answer the call, the on no ans action field ofthe private public number record for this public number is read todetermine the next action. If the on no ans action dictates that thesystem should send the call to the next available private number forthis public number, the NA sequence field is checked to determine thesequence number of the next private number. A lookup is then done on theprivate public number table based on the public number and the privatenumber sequence number. This sequence of events is repeated until allregistered private numbers have been exhausted, at which point thenumber may be sent to voicemail if available.

The holder could also configure the on no ans action field so that theinbound call be sent to voicemail or that ring-no-answer treatmentshould be given to the inbound call.

Called Party Line is Busy

If the holder's private number is busy, the on busy action field of theprivate public number record for this public number is read to determinethe next action. If the on busy action dictates that the system shouldsend the call to the next available private number for this publicnumber, the busy sequence field is checked to determine the sequencenumber of the next private number, and a lookup is done on the privatepublic number table based on the public number and this sequence number.This sequence is repeated until all registered private numbers have beenexhausted, at which point the number may be sent to voicemail ifavailable.

The on busy action field would ordinarily indicate that the call shouldbe sent to voicemail, however, or that ring-no-answer treatment shouldbe given to the inbound call.

Basic Call Route-Outbound Calls

As stated previously, the DNIS of the any call arriving at the hardwareplatform equipment is queried to find the number the caller dialed(dialed number). If the dialed number has not been allocated to thepublic number pool of numbers, it is considered an outbound call beingmade by an account holder and the following call flow applies:

The private number field of the private public number table is queriedwith the caller ID associated with the inbound call. Zero or manymatches may occur. The system validates both the inbound call and theholder making that call.

Validating the Holder

Three distinct situations are possible: caller ID is associated withsingle, multiple, or no public numbers.

1) Caller ID Associated with a Single Public Number:

If the caller ID matches a single private number in the private publicnumber table, the public number field is retrieved and the public numbertable is queried for the unique record associated with the retrievedpublic number.

Several fields from this public number record are used to validate thecaller and to establish whether he/she is the true holder of the publicnumber.

-   -   a) If the security level field indicates high security the        caller is challenged to enter a public number and a personal        identification number (PIN).    -   b) If the security level is medium, the caller is prompted to        enter a PIN only.    -   c) If the security level is low, the caller is not prompted and        the outbound call can proceed. In this case the caller ID alone        has validated the holder.

2) Caller ID is Associated with Multiple Public Numbers:

If the private number matches more that one public number in the privatepublic number table—then the caller is prompted to enter a public numberor a short code associated with a public number. The private publicnumber and public number tables are queried as follows:

-   -   a) If 10 digits are entered by the caller and these digits match        the value in the public number field of a record in the public        number table, the public number and caller ID are matched in the        private public number table. If found, this public number is        then associated with the caller ID.    -   b) If fewer than 10 digits are entered by the caller and these        digits match the value in the PPNumber Tag field of a record in        the public number table, the relevant public number and caller        ID are matched in the private public number table. If found,        then this public number is associated with the caller ID.

If either of these two queries returns a valid public number, thesecurity level for the public number is retrieved. If the security levelfield indicates high security or medium security, the caller is promptedfor a PIN. If the security level is low, the caller is not prompted fora PIN and the outbound call can proceed.

3) Caller ID is Associated with no Public Numbers:

If the caller's caller ID does not match any private number in theprivate public number table, the caller is prompted to enter a publicnumber. (Note: short codes are not allowed from unrecognized callerID's.) The digits entered are compared with the public number field inthe public number table. If a match is found, the security level isretrieved. This security setting dictates how the call proceeds asfollows:

-   -   a) High: outbound calls for this public number cannot be made        from an unrecognized caller ID, and the call is refused.    -   b) Medium: outbound calls for this public number can be made        from an unrecognized caller ID, but the caller must enter a        valid private number and PIN.    -   c) Low: outbound calls for this public number can be made from        an unrecognized caller ID, but the caller must enter a valid PIN        only.

If validated, the outbound call can then move to the next stage of thecall flow.

Getting the Number to Call

Once the public number is validated, the number to call needs to beestablished. The caller, now validated as the holder, is prompted toenter the number to call. He/she can take the following actions:

-   -   1) The holder enters the 10-digit number to dial.    -   2) The holder enters a previously user-configured two-digit        speed dial number that maps to a 10-digit number.    -   3) The caller enters # followed by a two-digit code that        performs one of several user account functions (covered        elsewhere in this document) on the user account.

If the caller enters a two-digit speed dial number, the speed dial tableis then queried, and the relevant 10-digit number is retrieved. If theuser enters 10 digits, his/her number is used directly. These 10 digitsrepresent the outbound number to dial.

This number to dial is checked against a number exception table toensure that it is not specifically disallowed. The digits representingthe area code are also checked to ensure that outbound calls to theseareas are allowed.

Outbound Caller ID

The feature set field of the relevant public number record in the publicnumber table is checked to establish what caller ID should be associatedwith the outbound call as follows:

-   -   1) Caller ID should be the public number.    -   2) Caller ID should be any 10 digits entered by the caller        making the outbound call. If the outbound caller ID can be        overridden, the user is prompted to enter a 10-digit number.        This number is then checked against an exception table, to        ensure that the caller ID is not specifically disallowed. If it        is allowed, the 10 digits are used as the outbound caller ID. If        it is disallowed, the caller is informed.        Call Recording

The feature set value is checked again to see if call recording isenabled; if so, the outbound call is recorded.

Public Number Configuration

Many features of the system are configurable by the user, both through awebsite and through the telephony system itself. When making an outboundcall using his/her public number, the holder can enter * followed by #to enter the configuration menu and perform the following configurationoptions:

-   -   1) Query the system for the current treatment being given to        inbound calls to the holder's public number.    -   2) Change the treatment given to those inbound calls as follows:        -   a) Send to a private number.        -   b) Send to voice-mail.        -   c) Give continuous ring-back for an extended duration.        -   d) Give a busy tone.        -   e) Give a fast busy tone.        -   f) Give an out-of-service message.    -   3) Retrieve voice-mails left for that public number.    -   4) Retrieve recordings of any inbound and outbound calls        recorded by the system for that public number.    -   5) Configure prompt levels played to the holder during outbound        calls. Prompt levels include verbose, brief, and ‘bong’ (where a        series of tones are played instead of spoken prompts).

The above configurations can also be performed using a dedicatedweb-based application (web-site) along with the following additionalconfigurations:

-   -   1) Add additional public numbers to a holder's account    -   2) Associate a meaningful label to the public number, for easy        identification    -   3) Associate a public number tag with the public number.    -   4) Configure the caller ID sent with an outbound call.    -   5) Configure the caller ID sent with an inbound call (original        caller ID, public number, public number tag or combination).    -   6) Configure speed-dial numbers.    -   7) Listen to and configure call recordings.    -   8) Listen to and configure voice-mails.    -   9) View call activity records.    -   10) Set default security levels and passwords.    -   11) Enter email and SMS address to receive notifications of        calls and/or voice mails received.    -   12) Block anonymous calls to the public number.    -   13) Block the public number from specific caller Ids.        Scaling to a Large Number of Users

One of the problems inherent with complex telephony processing is how tomake a system work well in large-scale implementations. Traditionalapplications could be: either simple and run on large mainframe classtelephone switches, however for complex environments they normally runon soft switches. They could also be complex and run on server-based(Dialogic or equivalent) systems. While currently implemented using TDMPRIs Dialogic cards in a telephony grade sever, this solution will onlyscale, at best, into several thousand simultaneous calls. Further, thefully loaded cost per port becomes prohibitive.

Major and Tier 2 carriers have numerous existing deployed switchesaround the nation, complete with robust SS7 implementations. Some ofthose switches support Discordia specification GR-1299-CORE, AINGR:Switch-Service Control Point (SCP)/Adjunct Interface. This is avendor-independent set of features that can be implemented as an add-onoptional module available on all major switches. In addition, severalhardware vendors have implemented proprietary versions of theessentially the same feature or comparable sets.

Regardless of whether the features exist in a GR1299 or vendor-specifichouse feature set, a preferred embodiment of the present invention willutilize these capabilities. This requires at least one switch on thenetwork to be so enabled. By adding a single SS7 SCP onto the carriernetwork, the following advantages are provided compared with switchingat a customer's premises or POP:

-   -   leverage of existing carrier infrastructure    -   reduced capital and maintenance costs    -   inherently redundant and distributed SS7—hence a more reliable        architecture    -   well proven design    -   significantly lower price per port    -   high scalability    -   implementation of call routing via database queries within the        SCP    -   minimal impact on existing carrier operations    -   SCP-controlled trunk groups-isolating network risks and        minimizing the cost and time of extensive trunking.        On-Line Database

The System preferably employs databases for: card control, billing (forgeneral accounts and professional accounts), pen data (for professionalaccounts), logs (system errors, customer errors, call records, andbilling records), and on-line control. Both voice and web components ofthe System may use the same databases. These databases are, for example,interrelated and straightforward except for the on-line controldatabase. This section details the on-line control database as well asthe logic of accessing this database.

This database structure is designed for efficient use by the on-linesystem. This database can be used to interface directly with SS7 usedinternally on large telephone switches. It is necessary to use adatabase capable of supporting “persistent views”. This is required fortwo reasons. First, access to the required information must be immediateon receiving incoming calls; there is typically no time for a complex“join” operation. Timing is still important but not as critical inplacing outgoing calls. Second, there is a many-to-many relationship,that is, each public number may have up to seven associated privatenumbers and each private number may be associated with a large number ofpublic numbers. Most of the accounts may have a single private numberassociated with a single public number; however, the structurepreferably is available to accommodate all cases.

It is preferable to keep the tables in the on-line databases small insize in order to improve the speed of the system. A complete set ofthese tables is associated with each outgoing number. Therefore, it isimportant to distribute outgoing numbers carefully. Outgoing numbers canbe specific to a particular skin; that is, the skin is automaticallyassumed by placing a call to a particular outgoing number. Outgoingnumbers are preferably limited to a particular number of telephonecalling cards. Select professional accounts may be given their ownoutgoing numbers.

The system preferably employs databases for: card control, billing (forgeneral accounts and professional accounts), pen data (for professionalaccounts), logs (system errors, customer errors, call records, andbilling records), and on-line control. Both voice and web components ofthe System may use the same databases. These databases are, for example,interrelated and straightforward except for the on-line controldatabase. This section details the on-line control database as well asthe logic of accessing this database.

This database structure is designed for efficient use by the on-linesystem. This database can be used to interface directly with SS7 usedinternally on large telephone switches. It is necessary to use adatabase capable of supporting “persistent views”. This is required fortwo reasons. First, access to the required information must be immediateon receiving incoming calls; there is typically no time for a complex“join” operation. Timing is still important but not as critical inplacing outgoing calls. Second, there is a many-to-many relationship,that is, each public number may have up to seven associated privatenumbers and each private number may be associated with a large number ofpublic numbers. Most of the accounts may have a single private numberassociated with a single public number; however, the structurepreferably is available to accommodate all cases.

It is preferable to keep the tables in the on-line databases small insize in order to improve the speed of the system. A complete set ofthese tables is associated with each outgoing number. Therefore, it isimportant to distribute outgoing numbers carefully. Outgoing numbers canbe specific to a particular skin; that is, the skin is automaticallyassumed by placing a call to a particular outgoing number. Outgoingnumbers are preferably limited to a particular number of telephonecalling cards. Select professional accounts may be given their ownoutgoing numbers.

Pen Data

Pen data may be sent to an individual email address as well as to theprivate number being rung as an option available for an ordinary skin.This assumes that the private number entered is a cell phone capable ofreceiving text messages. The situation for professional accounts is muchmore complex in that there are three different times that pen data issent: initial, intermediate, and final. Each time it can be sent to eachof three cell phones, three fax machines, and three email addresses.Professional pen data contains additional items as listed below. Thesame data is sent whether by SMS, email, or fax. Pen data is alsorecorded for outgoing calls from a professional account and can beaccessed via a web interface.

Example 9

An embodiment of the system and method according to the presentinvention appropriate for use in a doctor's office/work fromhome/traveling salesperson/executive

Relevant Features:

Set the office phone number as the permanent caller ID. This means thatcalls made by the holder from any telephone number to the outbound linewill have the same, consistent, caller ID.

Overview

It is often a requirement for office based professionals to make callsto clients from their home or wireless telephone. In this situation,they are forced to either block their outgoing caller ID, in which casethe call might go unanswered, or reveal their personal private home orcell phone number. Further reducing call completion rates are the newservices telecom carriers now offer to screen calls with caller IDdesignated as “private” or “number unavailable” such that they do noteven ring the called party.

For example, a doctor might have a reason to call a patient after hoursfrom home, but he does not want these calls to be returned to his homephone or wireless number. All patient related calls may typically bemade to his office or the hospital, for proper distribution to thedoctor on duty.

The solution allows the doctor to purchase a public number andpermanently fix the outgoing caller ANI to the office or hospitalnumber. When the doctor uses the system to call from home (or indeedanywhere using his cell phone), through our outbound number, the callerID associated with the outgoing call will then be the appropriatenumber, as revealed by the caller ID, thus ensuring the call is answeredby the recipient and that the doctor's personal private number is neverrevealed.

Example 10

An embodiment of the system and method according to the presentinvention appropriate for implementing a classified advertisementsresponse service. Relevant features include:

-   -   1) Hides the personal/private number    -   2) This also gives a special treatment to all calls returned to        the public number

When the product is sold or no longer available, the seller simply turnsoff the public number.

Overview

In placing a classified advertisement it is often necessary to use atelephone number so any potential buyer can call for more details of theitem on sale.

For instance, when advertising an apartment for rent, potential tenantsmight call to make an appointment to view the apartment. If these callssimply go to a recording device, it is easier to lose a client.

This solution allows the seller to purchase a public number, in the areacode of his choosing. Via a dedicated web-site, the seller can controlat what time of day calls made to the public number, are sent to hiscell phone, and when they are sent to voicemail.

This gives the seller the control to receive calls at a time convenientto him and still leave his cell phone available to take personal,non-apartment related calls.

Any calls made to potential purchases can be made using the system, andthe public number will show as the Caller ID to the called party, inthis case the potential buyer. This affords the seller privacy.

Rental advertisements can generate a tremendous response that continueswell after the apartment has been rented. Our solution allows anadvertiser to send all calls to an out-of-service message, once the saleis over. Optionally, a polite notice can be played, informing callersthat the apartment is no longer available. This frees up the seller'scell phone for personal calls, saves cell phone usage charges and again,never reveals the sellers private number.

After a reasonable amount of time, the caller can ‘turn-off’, and stoppaying for the public number, and all caller's will receive anout-of-service message.

Example 11

An embodiment of the system and method according to the presentinvention appropriate for implementing a virtual outgoing call center.Relevant features include:

-   -   1) Hides the personal/private number    -   2) Records each Call.    -   3) Speed-dial all outbound calls from home-based offices.        Overview

There is an increasing trend to use off-premise, home-based workers toperform tasks which were traditionally only done by staff physicallylocated in large call centers.

The Internet has hastened this trend by allowing organizations to easilyand securely distribute the company's data to anywhere in the world withInternet access. Extending phone systems out to off-premise locationsremains an expensive and less than ideal solution however. Extendingpremise-based out-bound call facilities is even more difficult.

Using our solution, home based company representatives can use theirexisting phones, to initiate outbound calls on behalf of their employer,without ever revealing their home telephone number to the called party.A caller ID, chosen by the company, will be associated with all outboundcalls. This is particularly important as these workers typically work ondifferent “campaigns” for different clients, where it becomes necessaryto display the correct caller ID associated with a given campaign.

A solution according to the present invention provides valuable metricsincluding the number of calls each agent makes, length of each calletc., and can collect from the agent the result of each call, or anyother customized information.

This system allows recording of calls and retrieval of these calls forstaff training and quality assurance purposes.

The foregoing disclosure of embodiments and exemplary applications ofthe present invention has been presented for purposes of illustrationand description. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Many variations andmodifications of the embodiments described herein will be obvious to oneof ordinary skill in the art in light of the above disclosure. The scopeof the invention is to be defined only by the claims appended hereto,and by their equivalents. Table Name: Public Number Column Name TypeRequest Description Row ID ui Unique identifier Public Number char (10)PK Public number Trunk ID char (10) Trunk ID-for SIP Account Number char(20) Depreciated Account # int FK Account number of holder Status char(10) Public number status. Possible values are: Active for incoming andoutgoing calls Active for incoming calls Active for outgoing callsActive for configuration only Not active Retired Not yet used StatusDate date, time The date the status last changed Treatment char (2) Thecurrent treatment given to inbound calls. Possible options are: Route toprivate number Route to voicemail Give ring-no-answer Give busy Givefast busy Give out of service Initial Sequence char (10) This is theinitial sequence number-normally 1. It points to the private number inthe private public number table. That private number will receive anyinbound calls to this public number. PPNumber Tag char (10) Auser-defined short code for the public number. Password char (20) Auser-defined password for the public number. Default Security Level char(10) Defines the security level implemented when making a call usingthis public number. Default Initial Message char (10) Not currently usedDefault Prompt Profile char (10) Defines which prompt the user hearswhen using this public number. Feature Set char (10) Each characterrepresents a feature turned on or off 1. Records calls enabled 2.Password required 3. Caller ID Override enabled 4. Voicemail SMS Addresschar (30) The SMS Address used to send SMS messages to the cell phoneEmail Address char (30) The email address to which call recording,associated with this public number, is sent

Table Name: Private/Public Number     Namespace: PPN IVR This tabledefines the relationship between the private and public numbers and thecalling private number sequence for inbound calls. Column Name TypeRequest Description Row ID ui Unique identifier Public Number char (10)PK Public number Sequence char (2) PK The current sequence number. Asequence Number number of 1 means the private number associated withthis record will receive all inbound calls. Only 1 record can exist withsame public number and a sequence number of 1. All other occurrences ofthe private number in this table will have a sequence other than 1.Private Number char (10) PK The private number. Status char (2) Thestatus of this public/private number association. On Busy Action char(2) This determines what to do with the inbound call when the privatenumber is busy. Busy Sequence char (2) If the call is sent to anotherprivate number, this determines the sequence number. On No Answer char(2) This determines what to do with the inbound Action call when theprivate number does not answer. NA Sequence char (2) If the call is sentto another private number, this determines the sequence number. OnDecline char (2) This determines what to do with the inbound Action callwhen the recipient declines to take the call. Column Name Type Req.Description Row ID ui Y Unique identifier created for this record bysystem. Call ID int Y Unique identifier created for this call. TimeStamp timestamp Date and time this record was created (binary format).Date Time char (30) Date and time this record was created (readableformat). Originating char (30) Originating number the ANI or caller IDof the call. It Number might be the private number on an outbound call.Destination char (30) Destination number. On an inbound call thisrepresents the Number private number, with a sequence number 1,associated with the public number. On an outbound call this couldrepresent the number to dial or a voicemail number. Transaction Typechar (30) Possible values: (Trans Type) call received call routed callreleased email sent SMS sent More values will be added. Trunk Numberchar (10) Trunk used for this call. Port Number char (10) Port used forthis call. Call Type char (20) Possible values: inbound outbound VMretrieval More values will be added. Account Number int Account numbercurrently associated with public number. Public Number char (20) Publicnumber associated with this call. Private Number char (20) Privatenumber, with a sequence number 1, associated with the public number.Called Number char (20) Number called to access the service. For aninbound call this is the DNIS, the 1-877 number. For an inbound call itis the DID that represents the public number. Email Address char (30)The email address used in an email sent transaction. SMS Address char(30) The SMS address used in a SMS sent transaction. Call Segment intCall segment associated with this CDR. There will be any number of callsegments associated with a single call. Off Hook int Amount of time inseconds that this call has been off hook. Duration Status char (10)Current status of the public number i.e., active, inactive, suspended.Call Treatment char (2) Call treatment given to this call. Debug Notes ntext System Field: other system information. Version char (2) SystemField: the version of CDR record structure. Version 1 Call ID char (30)System Field: the caller used in version 1

Table Name: CDR Summary     Namespace: PPN IVR This is the summary tablemaintained by the system. Each record in the CDR Summary table should bederivable from the individual CDR records of each call. It is useful tohave this table during development and testing. Column Name Type RequestDescription Call ID int Y PK This is the unique identifier for thiscall. Start Time date time This is the date and time this record wascreated. End Time date time This is the date and time this record waslast updated. Total Duration int This is the calculated total durationof all segments associated with this call. ANI char (10) This is the ANIor caller ID of the inbound segment of the call. It might be the unknowncaller ID, a private number, or a public number. Call Type char (10)Possible values: inbound outbound Account # int This is the accountnumber currently associated with the public number. Public Number char(10) This is the public number. Call Treatment char (2) This is the calltreatment given to the call. Private Number char (10) This is theprivate number, with sequence 1, associated with the call. DNIS char(10) This is the number the caller called to access the service. For anoutbound call this is the DNIS, the 1-877 number. For an inbound call itis the DID that represents the public number. Version Char (2) Systemfield: the version of CDR record structure. Version 1 Call ID char (30)System field: the call ID used in version 1 of the CDR table.

Table Name: Fraud Summary     Namespace: PPN IVR Column Name TypeRequest Description Row ID ui Unique identifier Public Number char (10)PK Total Calls int Total Minutes int Total Allowed Minutes int

Table Name: Account     Namespace: PPN web Column Name Type RequestDescription Row ID ui Unique identifier Account Number char (20)Unchecked Account # int Unchecked Title char (10) First Name char (20)Last Name char (20) Address Line 1 char (30) Address Line 2 char (30)City char (30) State char (10) ZIP char (10) Contact Phone 1 char (15)Contact Phone 2 char (15) Email Address char (30) Business email (notused to send call records, etc.)

Simple pen data in sequence sent to holder if the data is available: tagName from reverse telephone lookup City, state, country (if not US) From= CPN To = public number Time Date Pen data in sequence sent toprofessional holder if available: tag Name from reverse telephone lookupCity, state, country (if not US) From = CPN To = public number Listed =name from CPI if possible Message status = first, intermediate, orfinal. Additional database items on intermediate and final messagesPrivate = private number (holder optional) Time Date Duration of call onfinal message

1. A method for operating a voice communications network, comprising:(a) dynamically associating a private number with at least one publicnumber of a circuit switched voice communication network; (b)authenticating a user of a private number without reliance on a staticreproducible data code; (c) receiving an incoming call to the publicnumber, and routing the incoming call to the private number; (d)generating an outgoing call from the private number, and passing theoutgoing call through the public number, while generating calling partyinformation to a target which preserves a privacy of the caller; and (e)altering an associating of the private number and the at least onepublic number.
 2. A method for operating a voice communications network,comprising: (a) dynamically associating at least one private number withat least one public number of a circuit switched voice communicationnetwork, according to a predetermined algorithm; (b) receiving anincoming call to one of said public numbers, and routing the incomingcall to at least one of said private numbers; (c) generating an outgoingcall from a private number, and passing the outgoing call through atleast one of said public numbers, while optionally generating callingparty information to a target which preserves a privacy of the caller;and (d) altering said dynamic association or algorithm of said at leastone private number and said at least one public number.
 3. The methodaccording to claim 2, wherein an outcome of said predetermined algorithmis sensitive to at least one of a time, a communication status, anexternal status, accounting information, system congestion,communication cost, and a location.
 4. The method according to claim 2,further comprising the step of verifying a validity of an association ofa public number and a private number.
 5. The method according to claim2, further comprising the step of receiving a user input to influencesaid dynamic association.
 6. The method according to claim 2, furthercomprising the step of determining a status of at least one of saidprivate numbers, and associating in dependence on said determinedstatus.
 7. The method according to claim 2, further comprising the stepof providing an automated storage facility as at least one of said atleast one private number.
 8. The method according to claim 2, furthercomprising the step of providing a user interface facilitating receiptof configuration information from a user, said configuration informationinfluencing said dynamic association.
 9. The method according to claim2, further comprising providing an interactive voice response interfacefor at least one of a user at a public number and a user at a privatenumber.
 10. The method according to claim 2, further comprising the stepof authenticating a user.
 11. The method according to claim 2, furthercomprising the step of authenticating a user without reliance on astatic reproducible data code.
 12. The method according to claim 2,further comprising the step of authenticating a user biometrically. 13.The method according to claim 2, further comprising the step ofauthenticating a user based on a cryptographic key which changes overtime or after use.
 14. The method according to claim 2, furthercomprising the step of logging communications involving at least oneprivate number.
 15. A method for operating a voice communicationssystem, comprising: (a) providing a first option set for dynamicallyassociating at least one private number with at least one public numberof a voice communication network, according to a predeterminedalgorithm, for contacting a user; (b) providing a second option set fordynamically associating at least one public number with at least oneprivate number of a voice communication network, according to apredetermined algorithm, for permitting the user to contact others; (c)providing a third option set for defining functions available if a callto the user is not completed; and (d) defining a restricted option spacewithin each of the first option set, second option set, and third optionset, for controlling system behavior, the restricted option space havingat least two option sets, each option set differently controlling thesystem, and being selectively applied to the user.
 16. A voicecommunications system, comprising: (a) an input for receiving anincoming call to at least one public number; (b) an output forgenerating an outgoing call from at least one public number; and (c) aprocessor for routing the incoming call from the public number to atleast one private number, for passing the outgoing call from a privatenumber through at least one of said public numbers, while optionallygenerating calling party information to a target which preserves aprivacy of the caller, for dynamically associating at least one privatenumber with at least one public number of a circuit switched voicecommunication network, according to a predetermined algorithm, and foraltering said dynamic association or algorithm of said at least oneprivate number and said at least one public number.
 17. A method foroperating a voice communications network, comprising: (a) providing afirst option set for dynamically associating at least one private numberwith at least one public number of a voice communication network,according to a predetermined algorithm, for contacting a target user;(b) statically associating at least one public number with a publishedreturn number of a circuit switched voice communication network; (c)generating an outgoing call from a circuit corresponding to the privatenumber, and routing the outgoing call through the circuit switched voicecommunication network to a target user through the associated publicnumber; and (d) generating the published return number as caller IDinformation for the target user.